package com.example.wechat.login.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 语音识别历史记录实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("speech_recognition_history")
public class SpeechRecognitionHistory {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 用户openid
     */
    @TableField("openid")
    private String openid;

    /**
     * 语音识别结果
     */
    @TableField("recognition_result")
    private String recognitionResult;

    /**
     * 音频文件名
     */
    @TableField("audio_file_name")
    private String audioFileName;

    /**
     * 音频文件路径
     */
    @TableField("audio_file_path")
    private String audioFilePath;

    /**
     * 音频文件大小(字节)
     */
    @TableField("audio_file_size")
    private Long audioFileSize;



    /**
     * 音频格式
     */
    @TableField("audio_format")
    private String audioFormat;

    /**
     * 识别引擎类型
     */
    @TableField("engine_type")
    private String engineType;

    /**
     * 声道数
     */
    @TableField("channel_num")
    private Integer channelNum;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private LocalDateTime updateTime;


    @TableField("task_id")
    private String taskId;

    @TableField("status")
    private Integer status;

    @TableField("request_id")
    private String requestId;

    @TableField("message")
    private String message;
    @TableField("audio_url")
    private String audioUrl;
    @TableField("result_detail")
    private String resultDetail;
    @TableField("audio_time")
    private BigDecimal audioTime;
}
